package ewms.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import ewms.common.annotation.Excel;
import ewms.common.core.domain.FileEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 危废申报视图对象 ewms_waste_declare
 *
 * @author zhaoxiaochun
 * @date 2022-01-12
 */
@Data
@ApiModel("危废申报视图对象")
@Accessors(chain = true)
public class EwmsWasteDeclareVo {

	private static final long serialVersionUID = 1L;

	/**
	 * 危废申报ID
	 */
	@ApiModelProperty("危废申报ID")
	private Long wasteDeclareId;

	/**
	 * 危废ID
	 */
	@ApiModelProperty("危废ID")
	private Long wasteId;

	/**
	 * 批次号码
	 */
	@Excel(name = "批次号码", width = 30)
	@ApiModelProperty("批次号码")
	private String batchNumber;

	/**
	 * 危废名称
	 */
	@Excel(name = "危废名称", width = 45)
	@ApiModelProperty("危废名称")
	private String wasteName;

	/**
	 * 危废分类
	 */
	@Excel(name = "危废分类")
	@ApiModelProperty("危废分类")
	private String wasteTypeName;

	/**
	 * 危废形态
	 */
	@Excel(name = "危废形态", dictType = "waste_shape")
	@ApiModelProperty(value = "危废形态")
	private String wasteShape;

	/**
	 * 包装形式
	 */
	@Excel(name = "包装形式", dictType = "waste_package_type")
	@ApiModelProperty("包装形式")
	private String packageType;

	/**
	 * 危险特性
	 */
	@Excel(name = "危险特性", readConverterExp = "C=腐蚀性,T=毒性,I=易燃性,R=反应性,In=感染性", separator = ",")
	@ApiModelProperty("危险特性")
	private String hazardousCharacteristics;

	/**
	 * 安全措施
	 */
	@ApiModelProperty("安全措施")
	private String securityMeasure;

	/**
	 * 预估重量
	 */
	@Excel(name = "预估重量", scale = 2)
	@ApiModelProperty("预估重量")
	private BigDecimal wasteDiscreetWeight;

	/**
	 * 申报人
	 */
	@Excel(name = "申报人")
	@ApiModelProperty("申报人")
	private String declareBy;

	/**
	 * 申报日期
	 */
	@Excel(name = "申报日期", dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("申报日期")
	private Date declareDate;

	/**
	 * 备注
	 */
	@Excel(name = "备注", width = 45)
	@ApiModelProperty("备注")
	private String remark;

	/**
	 * 附件列表
	 */
	@ApiModelProperty("附件列表")
	private List<FileEntity> fileList;

	/**
	 * 危废分类ID
	 */
	@ApiModelProperty("危废分类ID")
	private Long wasteTypeId;

	/**
	 * 危废编码
	 */
	@ApiModelProperty("危废编码")
	private String wasteCode;

	/**
	 * 处置方式
	 */
	@ApiModelProperty("处置方式")
	private String handlerMethod;


	/**
	 * 状态
	 */
	@ApiModelProperty("状态")
	private Integer status;

	/**
	 * 所属行业
	 */
	@ApiModelProperty("所属行业")
	private String industryName;

	/**
	 * 是否存在附件
	 */
	@ApiModelProperty("是否存在附件")
	private Boolean hasAttachment;
}
